#include "GlobalGPUParamGroup.h"

namespace egg{

    GlobalGPUParamGroup* gGPUParamGroup=0;

    GlobalGPUParamGroup::GlobalGPUParamGroup(){
        mFrustum=NumericParamPtr(new NumericParam(GPT_Vec4,"uFrustum"));
        mPixelSize=NumericParamPtr(new NumericParam(GPT_Vec2,"uPixelSize"));
        mLightType=NumericParamPtr(new NumericParam(GPT_Vec4,"uLightType"));
        mLightColor=NumericParamPtr(new NumericParam(GPT_Vec4,"uLightColor"));
        mLightPosition=NumericParamPtr(new NumericParam(GPT_Vec3,"uLightPosition"));
        mLightDirection=NumericParamPtr(new NumericParam(GPT_Vec3,"uLightDirection"));
        mLightIntensity=NumericParamPtr(new NumericParam(GPT_Vec3,"uLightIntensity"));
        mNormalMatrix=NumericParamPtr(new NumericParam(GPT_Mat3,"uNormalMatrix"));
        mLocal2EyeMatrix=NumericParamPtr(new NumericParam(GPT_Mat4,"uLocal2EyeMatrix"));
        mProjectionMatrix=NumericParamPtr(new NumericParam(GPT_Mat4,"uProjectionMatrix"));
        mInvProjectionMatrix=NumericParamPtr(new NumericParam(GPT_Mat4,"uInvProjectionMatrix"));
        mNormalPosition=TextureParamPtr(new TextureParam("uNormalPositionTex"));
        mDiffuseShininess=TextureParamPtr(new TextureParam("uDiffuseShininessTex"));
    }

}